class Solution {
public:
    long long countCompleteDayPairs(vector<int>& hours) {
        long long ret = 0;
        int cnt[24] = { 0 };
        for(int &h : hours)
        {
            h %= 24;
            // 先查询 cnt，再更新 cnt，因为题目要求 i < j
            // 如果先更新，再查询，就把 i = j 的情况也考虑进去了
            ret += cnt[(24 - h) % 24];
            cnt[h]++;
        }
        return ret;

        // 下面这种方法时间复杂度太高
        // long long ret = 0, n = hours.size();
        // for (int i = 0; i < n; i++)
        //     for (int j = i + 1; j < n; j++)
        //         if ((hours[i] + hours[j]) % 24 == 0)
        //             ret++;
        // return ret;
    }
};